import requests

"""
  前面我们使用 urllib 处理过 Cookie，写法比较复杂，而有了 requests，获取和设置 Cookie 只需一步即可完成
"""

# 示例1 获取便利cookies
# r = requests.get('https://www.baidu.com')
# print(r.cookies)
# for key, value in r.cookies.items():
#     print(key + '=' + value)


# 示例2 cookie 直接放置在headers中传递过去，保持登录状态
"""
  注意: 首先需要在浏览器中登录后，请求头中复制完整的cookies，在程序中使用
"""
# headers = {
#     'Cookie': 'sessionid=vhg3fuhpv6av03xjoavvbk4vykun85xm',
#     'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36'
# }
#
# r = requests.get('https://login2.scrape.center/', headers=headers)
# print(r.text)

# 示例2 cookie 通过 cookies 参数来设置 Cookie 的信息，保持登录状态
"""
  注意: 首先需要在浏览器中登录后，请求头中复制完整的cookies，在程序中使用
  这里我们可以构造一个 RequestsCookieJar 对象，然后把刚才复制的 Cookie 处理下并赋值
"""
# 浏览器中复制的cookies
cookies = 'sessionid=vhg3fuhpv6av03xjoavvbk4vykun85xm'
jar = requests.cookies.RequestsCookieJar()
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36'
}
# 解析cookies，构建cookie对象
for cookie in cookies.split(';'):
    key, value = cookie.split('=', 1)  # 以等号 = 分割成键和值（只分一次，避免 value 中含有 = 的情况）
    jar.set(key, value)
r = requests.get('https://login2.scrape.center/', headers=headers, cookies=jar)
print(r.text)
